#ifndef MINEDESIGN3D_INPUTMANAGER
#define MINEDESIGN3D_INPUTMANAGER
#include "Util/Singleton.hpp"
namespace MineDesign3D{
class InputManager : public Util::Singleton<InputManager>
{
public:
	InputManager();
	~InputManager();
private:
	static void MouseFunc(int button, int state, int x, int y);
	static void MotionFunc(int x, int y);
	static void PassiveMotionFunc(int x, int y);
	static void WheelFunc(int wheel, int direction, int x, int y);
	static void KeyboardFunc(unsigned char key,int x,int y);
	static void SpecialFunc(int key,int x,int y);
};
}//MineDesign3D

inline MineDesign3D::InputManager* g_pInputManager()
{
	return MineDesign3D::InputManager::pInstance();
}
#endif